import { tipList } from '@/config'

const NET_ERROR_MSG = '网络请求超时'
const SERVER_ERROR_NULL = '未查找到该条数据'

/**
 * 处理接口请求报错
 * 1.收集错误信息
 * 2.给出统一用户反馈交互
 * 
 * @param {object} error.errorType    [必填，错误种类 net：网络错误；server：服务器处理错误]
 * @param {object} error.errorMsg     [可选，在网络错误类型中直接抛出axios错误信息]
 * @param {object} error.errorCode    [可选，在服务器错误类型中给出服务器错误返回值]
 */
const handleError = (error) => {
    const errorType = error.errorType
    if (error.errorType === 'net') {
        return Promise.reject(NET_ERROR_MSG)
    } else if (error.errorType === 'server') {
        return Promise.reject(tipList[error.errorCode])
    }
    return Promise.reject(error.errorMsg)
}

export default handleError
